home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 1996 April / Software of the Month Club 1996 April.iso / pc / os2 / psutils / makefile.emx next >
Makefile  |  1996-02-21  |  7KB  |  256 lines

  1. # Makefile for PS utilities release 1 patchlevel 16
  2. #
  3. # Copyright (C) Angus J. C. Duggan 1991-1995
  4. # See file LICENSE for details.
  5. #
  6. # updated AJCD 14/3/94
  7. #
  8. # Multiple makefiles for different OSes are generated from a single master
  9. # now.
  10. #
  11. # There are so many incompatible makes around that putting all of the
  12. # non-standard targets explicitly seems to be the only way of ensuring
  13. # portability.
  14.  
  15. # epsffit fits an epsf file to a given bounding box
  16. # psbook rearranges pages into signatures
  17. # psselect selects page ranges
  18. # pstops performs general page rearrangement and merging
  19. # psnup puts multiple logical pages on one physical page
  20. # psresize scales and moves pages to fit on different paper sizes
  21.  
  22. #PAPER=a4
  23. PAPER=letter
  24.  
  25. # Makefile for PSUtils under OS/2, GCC C Compiler
  26.  
  27. BINDIR = \psutils
  28. SCRIPTDIR = $(BINDIR)
  29. INCLUDEDIR = /lib/psutils
  30. #PERL = perl
  31. PERL = perl5
  32.  
  33. BINMODE = 0755
  34. MANMODE = 0644
  35. CHMOD = chmod
  36. INSTALL = install -c -m $(BINMODE)
  37. INSTALLMAN = install -c -m $(MANMODE)
  38. MANEXT = 1
  39. MANDIR = /man/man$(MANEXT)
  40.  
  41. CC = gcc
  42. # CFLAGS = -Wall -O2 -DPAPER=\"$(PAPER)\" -DOS2 -Zomf -Zmtd -s -Zlinker /PM:VIO
  43. CFLAGS = -Wall -O2 -DPAPER=\"$(PAPER)\" -DOS2 -s
  44.  
  45. # definitions for OS/2
  46. exe = .exe
  47. obj = .o
  48. cmd = .cmd
  49.  
  50. BIN = psbook$(exe) psselect$(exe) pstops$(exe) epsffit$(exe) psnup$(exe) \
  51.     psresize$(exe)
  52. SHELLSCRIPTS = getafm$(cmd) showchar$(cmd)
  53. PERLSCRIPTS = fixfmps$(cmd) fixmacps$(cmd) fixpsditps$(cmd) fixpspps$(cmd) \
  54.     fixtpps$(cmd) fixwfwps$(cmd) fixwpps$(cmd) fixscribeps$(cmd) \
  55.     fixwwps$(cmd) fixdlsrps$(cmd) extractres$(cmd) includeres$(cmd) \
  56.     psmerge$(cmd)
  57. MANPAGES = psbook.$(MANEXT) psselect.$(MANEXT) pstops.$(MANEXT) \
  58.     epsffit.$(MANEXT) psnup.$(MANEXT) psresize.$(MANEXT) \
  59.     psmerge.$(MANEXT) fixscribeps.$(MANEXT) getafm.$(MANEXT) \
  60.     fixdlsrps.$(MANEXT) fixfmps.$(MANEXT) fixmacps.$(MANEXT) \
  61.     fixpsditps.$(MANEXT) fixpspps.$(MANEXT) fixtpps.$(MANEXT) \
  62.     fixwfwps.$(MANEXT) fixwpps.$(MANEXT) \
  63.     fixwwps.$(MANEXT) extractres.$(MANEXT) includeres.$(MANEXT)
  64.  
  65. INCLUDES = md68_0.ps md71_0.ps
  66.  
  67. all: $(BIN) $(PERLSCRIPTS) $(SHELLSCRIPTS) $(MANPAGES)
  68.  
  69. .SUFFIXES: .c $(obj)
  70.  
  71. .c$(obj):
  72.     $(CC) -o $*$(obj) $(CFLAGS) -c $<
  73.  
  74. psutil$(obj): psutil.h patchlev.h pserror.h psutil.c
  75.  
  76. psspec$(obj): psutil.h patchlev.h psspec.h pserror.h psspec.c
  77.  
  78. pserror$(obj): psutil.h patchlev.h pserror.h pserror.c
  79.  
  80. epsffit$(obj): epsffit.c pserror.h patchlev.h
  81.  
  82. epsffit$(exe): epsffit$(obj) pserror$(obj)
  83.     $(CC) $(CFLAGS) -o epsffit$(exe) pserror$(obj) epsffit$(obj)
  84.  
  85. psnup$(exe): psnup$(obj) psutil$(obj) psspec$(obj) pserror$(obj)
  86.     $(CC) $(CFLAGS) -o psnup$(exe) psutil$(obj) psspec$(obj) pserror$(obj) psnup$(obj)
  87.  
  88. psnup$(obj): psutil.h patchlev.h psspec.h pserror.h psnup.c
  89.  
  90. psresize$(exe): psresize$(obj) psutil$(obj) pserror$(obj) psspec$(obj)
  91.     $(CC) $(CFLAGS) -o psresize$(exe) psutil$(obj) psspec$(obj) pserror$(obj) psresize$(obj)
  92.  
  93. psresize$(obj): psutil.h patchlev.h psspec.h pserror.h psresize.c
  94.  
  95. psbook$(exe): psbook$(obj) psutil$(obj) pserror$(obj)
  96.     $(CC) $(CFLAGS) -o psbook$(exe) psutil$(obj) pserror$(obj) psbook$(obj)
  97.  
  98. psbook$(obj): psutil.h patchlev.h pserror.h psbook.c
  99.  
  100. psselect$(exe): psselect$(obj) psutil$(obj) pserror$(obj)
  101.     $(CC) $(CFLAGS) -o psselect$(exe) psutil$(obj) pserror$(obj) psselect$(obj)
  102.  
  103. psselect$(obj): psutil.h patchlev.h pserror.h psselect.c
  104.  
  105. pstops$(exe): pstops$(obj) psutil$(obj) psspec$(obj) pserror$(obj)
  106.     $(CC) $(CFLAGS) -o pstops$(exe) psutil$(obj) psspec$(obj) pserror$(obj) pstops$(obj)
  107.  
  108. pstops$(obj): psutil.h patchlev.h psspec.h pserror.h pstops.c
  109.  
  110. psmerge$(cmd): psmerge.pl
  111.     $(PERL) maketext.os2 PERL=$(PERL) $? > $@
  112.     $(CHMOD) $(BINMODE) $@
  113.  
  114. fixfmps$(cmd): fixfmps.pl
  115.     $(PERL) maketext.os2 PERL=$(PERL) $? > $@
  116.     $(CHMOD) $(BINMODE) $@
  117.  
  118. fixmacps$(cmd): fixmacps.pl
  119.     $(PERL) maketext.os2 PERL=$(PERL) INCLUDE=$(INCLUDEDIR) $? > $@
  120.     $(CHMOD) $(BINMODE) $@
  121.  
  122. fixpsditps$(cmd): fixpsditps.pl
  123.     $(PERL) maketext.os2 PERL=$(PERL) $? > $@
  124.     $(CHMOD) $(BINMODE) $@
  125.  
  126. fixpspps$(cmd): fixpspps.pl
  127.     $(PERL) maketext.os2 PERL=$(PERL) $? > $@
  128.     $(CHMOD) $(BINMODE) $@
  129.  
  130. fixscribeps$(cmd): fixscribeps.pl
  131.     $(PERL) maketext.os2 PERL=$(PERL) $? > $@
  132.     $(CHMOD) $(BINMODE) $@
  133.  
  134. fixtpps$(cmd): fixtpps.pl
  135.     $(PERL) maketext.os2 PERL=$(PERL) $? > $@
  136.     $(CHMOD) $(BINMODE) $@
  137.  
  138. fixwfwps$(cmd): fixwfwps.pl
  139.     $(PERL) maketext.os2 PERL=$(PERL) $? > $@
  140.     $(CHMOD) $(BINMODE) $@
  141.  
  142. fixwpps$(cmd): fixwpps.pl
  143.     $(PERL) maketext.os2 PERL=$(PERL) $? > $@
  144.     $(CHMOD) $(BINMODE) $@
  145.  
  146. fixwwps$(cmd): fixwwps.pl
  147.     $(PERL) maketext.os2 PERL=$(PERL) $? > $@
  148.     $(CHMOD) $(BINMODE) $@
  149.  
  150. fixdlsrps$(cmd): fixdlsrps.pl
  151.     $(PERL) maketext.os2 PERL=$(PERL) $? > $@
  152.     $(CHMOD) $(BINMODE) $@
  153.  
  154. extractres$(cmd): extractres.pl
  155.     $(PERL) maketext.os2 PERL=$(PERL) $? > $@
  156.     $(CHMOD) $(BINMODE) $@
  157.  
  158. includeres$(cmd): includeres.pl
  159.     $(PERL) maketext.os2 PERL=$(PERL) INCLUDE=$(INCLUDEDIR) $? > $@
  160.     $(CHMOD) $(BINMODE) $@
  161.  
  162. getafm$(cmd): getafm
  163.     echo extproc sh $(BINDIR)\$@ >$@
  164.     head -n 2 $? >>$@
  165.     echo shift >>$@
  166.     tail -n +2 $? >>$@
  167.  
  168. showchar$(cmd): showchar
  169.     echo extproc sh $(BINDIR)\$@ >$@
  170.     head -n 5 $? >>$@
  171.     echo shift >>$@
  172.     tail -n +5 $? >>$@
  173.  
  174. epsffit.$(MANEXT): epsffit.man
  175.     $(PERL) maketext MAN="$(MANPAGES)" $? > $@
  176.  
  177. psnup.$(MANEXT): psnup.man
  178.     $(PERL) maketext MAN="$(MANPAGES)" PAPER=$(PAPER) $? > $@
  179.  
  180. psresize.$(MANEXT): psresize.man
  181.     $(PERL) maketext MAN="$(MANPAGES)" PAPER=$(PAPER) $? > $@
  182.  
  183. psbook.$(MANEXT): psbook.man
  184.     $(PERL) maketext "MAN=$(MANPAGES)" $? > $@
  185.  
  186. psselect.$(MANEXT): psselect.man
  187.     $(PERL) maketext "MAN=$(MANPAGES)" $? > $@
  188.  
  189. pstops.$(MANEXT): pstops.man
  190.     $(PERL) maketext "MAN=$(MANPAGES)" PAPER=$(PAPER) $? > $@
  191.  
  192. psmerge.$(MANEXT): psmerge.man
  193.     $(PERL) maketext "MAN=$(MANPAGES)" $? > $@
  194.  
  195. fixfmps.$(MANEXT): fixfmps.man
  196.     $(PERL) maketext "MAN=$(MANPAGES)" $? > $@
  197.  
  198. fixmacps.$(MANEXT): fixmacps.man
  199.     $(PERL) maketext "MAN=$(MANPAGES)" INCLUDE=$(INCLUDEDIR) $? > $@
  200.  
  201. fixpsditps.$(MANEXT): fixpsditps.man
  202.     $(PERL) maketext "MAN=$(MANPAGES)" $? > $@
  203.  
  204. fixpspps.$(MANEXT): fixpspps.man
  205.     $(PERL) maketext "MAN=$(MANPAGES)" $? > $@
  206.  
  207. fixscribeps.$(MANEXT): fixscribeps.man
  208.     $(PERL) maketext "MAN=$(MANPAGES)" $? > $@
  209.  
  210. fixtpps.$(MANEXT): fixtpps.man
  211.     $(PERL) maketext "MAN=$(MANPAGES)" $? > $@
  212.  
  213. fixwfwps.$(MANEXT): fixwfwps.man
  214.     $(PERL) maketext "MAN=$(MANPAGES)" $? > $@
  215.  
  216. fixwpps.$(MANEXT): fixwpps.man
  217.     $(PERL) maketext "MAN=$(MANPAGES)" $? > $@
  218.  
  219. fixwwps.$(MANEXT): fixwwps.man
  220.     $(PERL) maketext "MAN=$(MANPAGES)" $? > $@
  221.  
  222. fixdlsrps.$(MANEXT): fixdlsrps.man
  223.     $(PERL) maketext "MAN=$(MANPAGES)" $? > $@
  224.  
  225. extractres.$(MANEXT): extractres.man
  226.     $(PERL) maketext "MAN=$(MANPAGES)" $? > $@
  227.  
  228. includeres.$(MANEXT): includeres.man
  229.     $(PERL) maketext "MAN=$(MANPAGES)" INCLUDE=$(INCLUDEDIR) $? > $@
  230.  
  231. getafm.$(MANEXT): getafm.man
  232.     $(PERL) maketext "MAN=$(MANPAGES)" $? > $@
  233.  
  234.  
  235. clean:
  236.     RM *$(obj)
  237.  
  238. veryclean realclean: clean
  239.     RM $(BIN) $(PERLSCRIPTS) $(MANPAGES)
  240.  
  241. install: install.bin install.script install.include
  242.  
  243. install.bin: $(BIN)
  244.     -mkdir $(BINDIR)
  245.     @for %1 in ( $(BIN) ) do copy %1 $(BINDIR)
  246.  
  247. install.script: $(PERLSCRIPTS) $(SHELLSCRIPTS)
  248.     -mkdir $(SCRIPTDIR)
  249.     @for %1 in ( $(PERLSCRIPTS) ) do copy %1 $(SCRIPTDIR)
  250.     @for %1 in ( $(SHELLSCRIPTS) ) do copy %1 $(SCRIPTDIR)
  251.  
  252. install.include: $(INCLUDES)
  253.     -mkdir $(INCLUDEDIR)
  254.     @for %1 in ( $(INCLUDES) ) do copy %1 $(INCLUDEDIR)
  255.  
  256.